Pay attention to the libjpeg error code and report OOM errors as such.
authorMatthias Clasen <mclasen@redhat.com>
Mon, 15 Aug 2005 13:50:27 +0000 (13:50 +0000)
committerMatthias Clasen <matthiasc@src.gnome.org>
Mon, 15 Aug 2005 13:50:27 +0000 (13:50 +0000)
2005-08-15  Matthias Clasen  <mclasen@redhat.com>

* io-jpeg.c (fatal_error_handler): Pay attention to the
libjpeg error code and report OOM errors as such.  (#312674,
Tommi Komulainen)

gdk-pixbuf/ChangeLog
gdk-pixbuf/io-jpeg.c

index 80a6a0d944feedd22dedc769b629390a890dcbc8..c69f58bd37bac369a92b144440badfc350172d31 100644 (file)
@@ -1,3 +1,9 @@
+2005-08-15  Matthias Clasen  <mclasen@redhat.com>
+
+       * io-jpeg.c (fatal_error_handler): Pay attention to the 
+       libjpeg error code and report OOM errors as such.  (#312674,
+       Tommi Komulainen)
+
 2005-08-13  Matthias Clasen  <mclasen@redhat.com>
 
        * === Released 2.8.0 ===
index 7f21594760cf2d2b74b52af9df2d964213d266c9..fe49c256f02efd1da45928ac7f92eb60c5baae81 100644 (file)
@@ -33,6 +33,7 @@
 #include <string.h>
 #include <setjmp.h>
 #include <jpeglib.h>
+#include <jerror.h>
 #include "gdk-pixbuf-private.h"
 #include "gdk-pixbuf-io.h"
 
@@ -110,7 +111,9 @@ fatal_error_handler (j_common_ptr cinfo)
         if (errmgr->error && *errmgr->error == NULL) {
                 g_set_error (errmgr->error,
                              GDK_PIXBUF_ERROR,
-                             GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
+                             cinfo->err->msg_code == JERR_OUT_OF_MEMORY 
+                            ? GDK_PIXBUF_ERROR_INSUFFICIENT_MEMORY 
+                            : GDK_PIXBUF_ERROR_CORRUPT_IMAGE,
                              _("Error interpreting JPEG image file (%s)"),
                              buffer);
         }